The present disclosure relates to a technique for testing of a software product. More specifically, the present disclosure relates to dynamically testing the software product using a virtual cluster immune system.
Errors or bugs in a software product can result in system crashes and a poor user experience. Therefore, software products are typically extensively tested to identify and correct bugs. In principle, this testing may involve a variety of complicated tests or experiments, which, ideally, can be performed quickly so that the software-development time is not too long. However, if the experiments are not isolated from each other in a computer system (such as a server farm), they can interfere with each other, which may make it more difficult to correctly test the software product.
One approach for addressing the challenge of such interference is to test the software product in a cluster immune system, which provides a safe environment or area in which the software product is in an isolated cluster or subset of the computer system so that only a select group of customers can try it. In this way, the different experiments cannot interfere with each other.
While this approach offers a controlled way to test the software product, it can be difficult to thoroughly test the software product using a cluster immune system. In particular, it can be difficult to rapidly and intelligently perform a sequence of tests on the software product using a cluster immune system because the iteration rate is often restricted by conflict issues within the cluster immune system. Moreover, the analysis operations that are based on the results of the tests in a cluster immune system are often performed by a human operator of the cluster immune system. As a consequence, the results of the testing in a cluster immune system are often less accurate and can be dated because of the long time between tests.